EC2からTiDB Cloud(Serverless)にTLSを使用して接続してみた
こんにちは、ゲームソリューショングループのsoraです。
今回は、EC2からTiDB Cloud(Serverless)にTLSを使用して接続してみたことについて書いていきます。
はじめに
TiDBはクラウドネイティブな分散型のNewSQLデータベースです。
TiDB CloudはTiDBをフルマネージドでクラウド上で使えるサービスです。
詳細については、以下記事をご参照ください。
今回は、こちらの公式ページを参考に、EC2サーバからTiDB CloudにTLSを使用して接続してみます。
EC2サーバへのMySQLクライアントのインストール
今回はTiDB Cloudへの接続にMySQLを使用するため、MySQLクライアントをインストールします。
EC2のAMIはAmazon Linux 2023
を使用します。
$ sudo dnf -y localinstall https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm $ sudo dnf -y install mysql mysql-community-client
これでMySQLクライアントがインストールできました。
TiDB Cloudへの接続準備
TiDB Cloudへ接続するための準備をします。
TiDB CloudでServerlessのクラスタを作成した後、クラスタのOverviewからConnectを押下します。
今回使用するTiDBクラスターは東京リージョンでEC2と同じリージョンにしていますが、リージョンが異なっていても接続可能です。
Endpoint TypeをPublic、Connect WithをMySQL CLI、Operating SystemをCentOS/RedHat/Fedoraにします。
Create passwordを押下すると、パスワードが生成されてコマンド内のyour_passwordの部分に記載されます。
コマンドは接続時に使用するため、コピーしておいてください。
EC2からTiDB Cloudへ接続
EC2にSSHで接続して、先ほどのTiDB Cloudへの接続コマンドを実行します。
$ mysql --connect-timeout 15 -u '<user_name>' -h gateway01.ap-northeast-1.prod.aws.tidbcloud.com -P 4000 -D test --ssl-mode=VERIFY_IDENTITY --ssl-ca=/etc/pki/tls/certs/ca-bundle.crt -p<your_password> mysql>
接続ができたため、簡単なDB操作をしてみます。
mysql> show databases; +--------------------+ | Database | +--------------------+ | INFORMATION_SCHEMA | | PERFORMANCE_SCHEMA | | mysql | | sample_data | | test | +--------------------+ 5 rows in set (0.00 sec) mysql> drop database test; Query OK, 0 rows affected (0.28 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | INFORMATION_SCHEMA | | PERFORMANCE_SCHEMA | | mysql | | sample_data | +--------------------+ 4 rows in set (0.01 sec)
testのデータベースを削除できました。
TiDB Cloud側でも確認してみます。
before
after
TiDB Cloud側でもtestデータベースが削除されていることが確認できました。
参考にしたページ
Serverless Tierへの TLS 接続
【AWS EC2】Amazon Linux2にMySQLのclientだけをインストールしてRDSに接続する方法
MySQLのGPGキーの有効期限切れのためインストールに失敗する場合の対応方法
最後に
今回は、EC2からTiDB Cloud(Serverless)にTLSを使用して接続してみたことを記事にしました。
今後もTiDBやTiDB Cloudを試してみて、記事にしていきたいと思います。